
package com.idealighter.game.dictionary.domain;

import java.lang.reflect.Field;

import org.slf4j.LoggerFactory;

public class TexapokerRobotRulesDomainTest {

  // 策略ID
  private int id;
  // 发牌轮数
  private int cardsNum;
  // 是否有对子（0否1是）
  private int paired;
  // 对子是否是最大牌值（0否1是）
  private int pairedMax;
  // 对子是否是最小牌值（0否1是）
  private int pairedMin;
  // 对子中是否有手牌
  private int pairedMy;
  // 是否有两对
  private int twoTwo;
  // 两对中是否有手牌
  private int twoTwoMy;
  // 是否有三条
  private int three;
  // 三条是否是最大牌值（0否1是）
  private int threeMax;
  // 三条中是否有手牌
  private int threeMy;
  // 是否有4张
  private int four;
  // 4张是否有手牌
  private int fourMy;
  // 是否有3张牌顺子（0否1是）
  private int longThree;
  // 顺子中是否有手牌（0否1是）
  private int longThreeMy;
  // 是否有4张牌顺子（0否1是）
  private int longFour;
  // 顺子中是否有手牌（0否1是）
  private int longFourMy;
  // 是否有5张牌顺子（0否1是）
  private int longFive;
  // 顺子中是否有手牌（0否1是）
  private int longFiveMy;
  // 是否为4张以上同花
  private int sameFour;
  // 4张以上同花是否有手牌
  private int sameFourMy;
  // 是否为5张同花
  private int sameFive;
  // 5张以上同花是否有手牌
  private int sameFiveMy;
  // 是否是5张同花顺
  private int sameLong;
  // 同花顺是否有手牌
  private int sameLongMy;
  // 跟注后是否还有剩余筹码
  private int showhandMust;
  // 最终是否获胜
  private int win;
  // 跟注
  private int follow;
  // 加最小注
  private int filling;
  // 梭哈
  private int showhand;
  // 放弃
  private int giveUp;
  // 操作最小时间
  private int timeMin;
  // 操作最大时间
  private int timeMax;
  // 备注
  private String remark;


  @Override
  public boolean equals(Object obj) {
    if (!(obj instanceof TexapokerRobotRulesDomainTest)) {
      return false;
    }
    TexapokerRobotRulesDomainTest other = (TexapokerRobotRulesDomainTest) obj;
    return (cardsNum == other.cardsNum) && (paired == other.paired)
        && (pairedMax == other.pairedMax) && (pairedMin == other.pairedMin)
        && (pairedMy == other.pairedMy) && (twoTwo == other.twoTwo) && (twoTwoMy == other.twoTwoMy)
        && (three == other.three) && (threeMax == other.threeMax) && (threeMy == other.threeMy)
        && (longThree == other.longThree) && (longThreeMy == other.longThreeMy)
        && (longFour == other.longFour) && (longFourMy == other.longFourMy)
        && (longFive == other.longFive) && (longFiveMy == other.longFiveMy)
        && (sameFour == other.sameFour) && (sameFourMy == other.sameFourMy)
        && (sameFive == other.sameFive) && (sameFiveMy == other.sameFiveMy)
        && (showhandMust == other.showhandMust) && (four == other.four) && (fourMy == other.fourMy)
        && (sameLong == other.sameLong) && (sameLongMy == other.sameLongMy) && (win == other.win);
  }

  @Override
  public String toString() {
    Class<?> c = null;
    try {
      c = Class.forName("com.idealighter.game.dictionary.domain.TexapokerRobotRulesDomainTest");
    } catch (ClassNotFoundException e) {
      e.printStackTrace();
    }
    Field[] fields = c.getDeclaredFields();

    for (Field f : fields) {
      f.setAccessible(true);
    }
    String msg = "";
    for (Field f : fields) {
      String field = f.toString().substring(f.toString().lastIndexOf(".") + 1); // 取出属性名称
      try {
        System.err.print(field + " --> " + f.get(this) + " ");
        // msg += "," + f.get(this) + " ";
        // return f.get(this).toString();
      } catch (IllegalAccessException e) {
        e.printStackTrace();
      }
    }
    LoggerFactory.getLogger("TexaPokerRuleLog").info(msg);
    return "";
    // return JSON.toJSONString(this);


    // return JSON.toJSONString(this);
  }

  public int getId() {
    return id;
  }

  public void setId(int id) {
    this.id = id;
  }

  public int getCardsNum() {
    return cardsNum;
  }

  public void setCardsNum(int cardsNum) {
    this.cardsNum = cardsNum;
  }

  public int getPaired() {
    return paired;
  }

  public void setPaired(int paired) {
    this.paired = paired;
  }

  public int getPairedMax() {
    return pairedMax;
  }

  public void setPairedMax(int pairedMax) {
    this.pairedMax = pairedMax;
  }

  public int getPairedMin() {
    return pairedMin;
  }

  public void setPairedMin(int pairedMin) {
    this.pairedMin = pairedMin;
  }

  public int getPairedMy() {
    return pairedMy;
  }

  public void setPairedMy(int pairedMy) {
    this.pairedMy = pairedMy;
  }

  public int getTwoTwo() {
    return twoTwo;
  }

  public void setTwoTwo(int twoTwo) {
    this.twoTwo = twoTwo;
  }

  public int getTwoTwoMy() {
    return twoTwoMy;
  }

  public void setTwoTwoMy(int twoTwoMy) {
    this.twoTwoMy = twoTwoMy;
  }

  public int getThree() {
    return three;
  }

  public void setThree(int three) {
    this.three = three;
  }

  public int getThreeMax() {
    return threeMax;
  }

  public void setThreeMax(int threeMax) {
    this.threeMax = threeMax;
  }

  public int getThreeMy() {
    return threeMy;
  }

  public void setThreeMy(int threeMy) {
    this.threeMy = threeMy;
  }

  public int getFour() {
    return four;
  }

  public void setFour(int four) {
    this.four = four;
  }

  public int getFourMy() {
    return fourMy;
  }

  public void setFourMy(int fourMy) {
    this.fourMy = fourMy;
  }

  public int getLongThree() {
    return longThree;
  }

  public void setLongThree(int longThree) {
    this.longThree = longThree;
  }

  public int getLongThreeMy() {
    return longThreeMy;
  }

  public void setLongThreeMy(int longThreeMy) {
    this.longThreeMy = longThreeMy;
  }

  public int getLongFour() {
    return longFour;
  }

  public void setLongFour(int longFour) {
    this.longFour = longFour;
  }

  public int getLongFourMy() {
    return longFourMy;
  }

  public void setLongFourMy(int longFourMy) {
    this.longFourMy = longFourMy;
  }

  public int getLongFive() {
    return longFive;
  }

  public void setLongFive(int longFive) {
    this.longFive = longFive;
  }

  public int getLongFiveMy() {
    return longFiveMy;
  }

  public void setLongFiveMy(int longFiveMy) {
    this.longFiveMy = longFiveMy;
  }

  public int getSameFour() {
    return sameFour;
  }

  public void setSameFour(int sameFour) {
    this.sameFour = sameFour;
  }

  public int getSameFourMy() {
    return sameFourMy;
  }

  public void setSameFourMy(int sameFourMy) {
    this.sameFourMy = sameFourMy;
  }

  public int getSameFive() {
    return sameFive;
  }

  public void setSameFive(int sameFive) {
    this.sameFive = sameFive;
  }

  public int getSameFiveMy() {
    return sameFiveMy;
  }

  public void setSameFiveMy(int sameFiveMy) {
    this.sameFiveMy = sameFiveMy;
  }

  public int getSameLong() {
    return sameLong;
  }

  public void setSameLong(int sameLong) {
    this.sameLong = sameLong;
  }

  public int getSameLongMy() {
    return sameLongMy;
  }

  public void setSameLongMy(int sameLongMy) {
    this.sameLongMy = sameLongMy;
  }

  public int getShowhandMust() {
    return showhandMust;
  }

  public void setShowhandMust(int showhandMust) {
    this.showhandMust = showhandMust;
  }

  public int getWin() {
    return win;
  }

  public void setWin(int win) {
    this.win = win;
  }

  public int getFollow() {
    return follow;
  }

  public void setFollow(int follow) {
    this.follow = follow;
  }

  public int getFilling() {
    return filling;
  }

  public void setFilling(int filling) {
    this.filling = filling;
  }

  public int getShowhand() {
    return showhand;
  }

  public void setShowhand(int showhand) {
    this.showhand = showhand;
  }

  public int getGiveUp() {
    return giveUp;
  }

  public void setGiveUp(int giveUp) {
    this.giveUp = giveUp;
  }

  public int getTimeMin() {
    return timeMin;
  }

  public void setTimeMin(int timeMin) {
    this.timeMin = timeMin;
  }

  public int getTimeMax() {
    return timeMax;
  }

  public void setTimeMax(int timeMax) {
    this.timeMax = timeMax;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

}
